﻿#region Usings

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

#endregion

namespace Rail.Net.Core.Model
{
    [Serializable]
    [DataContract]
    public class Station : BaseIdentifiable
    {
        #region Primitive Properties

        [DataMember]
        public string Name { get; set; }

        [DataMember]
        public string Eva { get; set; }

        [DataMember]
        public string Epa { get; set; }

        [DataMember]
        public string Tisp { get; set; }

        [DataMember]
        public bool ForSale { get; set; }

        [DataMember]
        public string X { get; set; }

        [DataMember]
        public string Y { get; set; }

        [DataMember]
        public bool IsBorder { get; set; }

        [DataMember]
        public string BorderName { get; set; }

        [DataMember]
        public string BorderEva { get; set; }

        [DataMember]
        public int BorderCorrection { get; set; }

        public Station AlternativeStation { get; set; }

        #endregion

        #region Navigation Properties

        [DataMember]
        public virtual Ru Ru { get; set; }

        [DataMember]
        public virtual ICollection<Distance> Distances1 { get; set; }

        [DataMember]
        public virtual ICollection<Distance> Distances2 { get; set; }

        [DataMember]
        public virtual ICollection<RelationDescription> RelationDescriptions { get; set; }

        #endregion
    }
}